package com.反射Reflection.HomeWork;

import java.io.File;
import java.io.IOException;
import java.lang.reflect.Constructor;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.util.Arrays;

public class HomeWork02 {
    /**
     * 1.反射得到File类的所有构造器
     * 2.创建File对象
     * 3.得到createNewFile方法
     * 4.在D:\JAVA_test下创建 mynew.txt文件
     */
    public static void main(String[] args) throws NoSuchMethodException, InvocationTargetException, InstantiationException, IllegalAccessException, IOException {
        
        Class<File> fileClass = File.class;
        /// 1.反射得到File类的所有构造器
        Constructor<?>[] constructors = fileClass.getDeclaredConstructors();
        for (Constructor<?> constructor : constructors) {
            System.out.println(constructor);
        }
        /// 2.创建File对象
        File file = fileClass.getConstructor(String.class).newInstance("D:\\JAVA_test\\mynew.txt");
        /// 3.得到createNewFile方法
        Method createNewFile = fileClass.getDeclaredMethod("createNewFile");
        ///  4.在D:\JAVA_test下创建 mynew.txt文件
        Object bool = createNewFile.invoke(file);
        System.out.println(bool);
    }
}
